Crate hyper[][src]

hyper

hyper is a fast and correct HTTP implementation written in and for Rust.

Features

  • HTTP/1 and HTTP/2
  • Asynchronous design
  • Leading in performance
  • Tested and correct
  • Extensive production use
  • Client and Server APIs

If just starting out, check out the Guides first.

"Low-level"

hyper is a lower-level HTTP library, meant to be a building block for libraries and applications.

If looking for just a convenient HTTP client, consider the reqwest crate.

Optional Features

The following optional features are available:

  • runtime (enabled by default): Enables convenient integration with tokio, providing connectors and acceptors for TCP, and a default executor.
  • tcp (enabled by default): Enables convenient implementations over TCP (using tokio).
  • stream (enabled by default): Provides futures::Stream capabilities.

Re-exports

pub use crate::client::Client;
pub use crate::server::Server;

Modules

body

Streaming bodies for Requests and Responses

client

HTTP Client

header

HTTP header types

rt

Runtime components

server

HTTP Server

service

Asynchronous Services

upgrade

HTTP Upgrades

Structs

Body

A stream of Bytes, used when receiving bodies.

Error

Represents errors that can occur handling HTTP streams.

HeaderMap

A set of HTTP headers

Method

The Request Method (VERB)

Request

Represents an HTTP request.

Response

Represents an HTTP response

StatusCode

An HTTP status code (status-code in RFC 7230 et al.).

Uri

The URI component of a request.

Version

Represents a version of the HTTP spec.

Type Definitions

Result

Result type often returned from methods that can have hyper Errors.